Amazon Bedrock の基盤モデルと OpenAI の GPT モデルに対して一括でテキスト生成ができるアプリケーションを作ってみた
こんにちは、森田です。
みなさん、生成AIを活用できていますか?
現在、生成AIといっても多くのプロバイダーとモデルが存在しています。
ユーザは生成AIを自由に選択ができる一方で、どれを利用すべきかを瞬時に判断するのは難しいです。
そこで、そのような問題を解決すべく、複数の生成AIモデルに対して一括でテキスト生成ができるアプリケーションを作ってみました。
作成したアプリケーションについて
以下のURLにアクセスすることで利用可能です。
https://ai-quick.streamlit.app/
このアプリケーションでは、Streamlitを使って作成しています。
Streamlitでは、AI チャットアプリに適したComponentsが豊富にあるので、ちょっとしたアプリ開発にはとても便利です。
使ってみる
以下のように、テキストを入力を行い、Submitすると、複数のモデルでテキスト生成を行なってくれます。
各モデルに対してのリクエストは、非同期で行なっているため、素早く各モデルの生成結果を確認することが可能です。
アプリケーションを利用する際に必要な情報
OpenAI API Key
OpenAIのAPI Keyを入力します。
以下を参考に取得を行なってください。
AWS アクセスキー, AWS シークレットアクセスキー
アプリケーションとして動作させることを優先させたため、AWSへのアクセスはアクセスキーを使っています。(時間がある時にアクセス方式は見直したいです)
アクセスキーの発行については、以下のリンクから作成可能ですので、アクセスキー作成後入力してください。
モデル一覧(カンマ区切り)
テキストの生成を行うモデルをカンマ区切りで入力します。
amazon.titan-tg1-large,amazon.titan-text-lite-v1,amazon.titan-text-express-v1,ai21.j2-grande-instruct,ai21.j2-mid,ai21.j2-mid-v1,cohere.command-text-v14,cohere.command-light-text-v14,meta.llama2-13b-chat-v1,meta.llama2-70b-chat-v1,gpt-4-1106-preview,gpt-3.5-turbo-1106
モデルの自動読み込みのボタンを押下すると、AWSから利用可能なモデルを自動で取得可能です。(OpenAIのモデルについては対応していないです。)
ローカル環境で使う
ソースコードについては、以下のリポジトリにありますので、クローンしてもらえればすぐに使えます。
いくつかライブラリが必要となるため、以下コマンドで各自インストールを行なってください。
pip install -r requirements.txt
また、ローカルで利用する場合には、ローカルモードを有効化することで、ローカル環境のクレデンシャルを使って、Bedrockにアクセスすることが可能です。
ローカルモードが有効化の場合は、以下のようにAWS アクセスキー,AWS シークレットアクセスキーなしでも実行できます。
さいごに
以下のセッションで紹介のあったアプリケーションをコンセプトに作成を行いました。
Streamlitを使ってアプリケーションを作ってみましたが、クライアント側の実装は不要である一方で、クライアント側のカスタマイズが難しい点が大変でした。
コードについては、時間がある際に修正していくと思いますので、ぜひ使ってみてください。